今天,你將學到如何使用 Elastic Cloud(後面簡稱 EC)從你的應用程式讀入、閱讀和分析應用程式效能監控(APM)資料。
本篇的主題包含有:
那我們就開始吧!
舉例來說,APM 可以找出使用者在用網站搜索服務時,速度緩慢的查找,又或者是消費者在網站購物要結帳時,一直發生崩潰、錯誤的情況。
APM 讓你可以持續追蹤應用程式服務的健康度和效能,它讓你可以在對消費者產生困擾前,偵測和解除問題,又或是可以快速地幫助你調查,找到問題的根本原因,在最短的時間將不好的影響降至最低。
APM 藉由對傳入的請求(Request),收集詳細的系統反應(Response)時間,來達到監測的目的。
這些事件(Event)可分為:交易(Transaction)和跨度(Span),什麼意思勒?例如一個消費者想要買一張飛機票好了,這個購買的事件(Event)觸發了要資料庫保留一個座位,而這個資料庫詢問的動作就是一個跨度(Span),跨度描述了什麼需要被執行、花了多少時間去執行,當保留了一個座位後,接下來的跨度就是用信用卡支付的動作,其中過程也都會被追蹤,最後的跨度就是寄送確認 Email,而這整個服務過程是由送出一個購買的請求交易(Transaction)開始。
這一部分的實作,我們將可以學到:
Add APM
,進去會發現我們還沒有創建應用服務,所以我們先來創建示範用的 app。Code
,然後複製下面一串網址,接著到 terminal 下輸入下面的指令,就可以把這個資料夾的東西都下載到本機端囉。git clone https://github.com/elastic/opbeans-java.git
cd opbeans-java/opbeans
mvn package
Java
的部分,因為要先下載好 Java agent,點選 Maven Central
後,按一下右邊箭頭,選擇 jar
檔案下載,下載好後把檔案移至剛才 opbeans 的路徑下。java -javaagent:./elastic-apm-agent-1.18.0.RC1.jar \
-Delastic.apm.service_name=opbeans-java \
-Delastic.apm.server_urls=https://b2fe946f935d42f9a77a9e2b332e517c.apm.asia-east1.gcp.elastic-cloud.com:443 \
-Delastic.apm.secret_token=bNVO5cmNG0x3iq5m7p \
-Delastic.apm.application_packages=co.elastic.apm.opbeans \
-jar ./target/opbeans-0.0.1-SNAPSHOT.jar
Load Kibana objects
,檢查有沒有設置成功,沒問題的話點 Launch
,你會發現這時候 APM 面板有應用程式,但是還沒有收到資料,這是因為我們還沒去跟它互動,還沒有產生軌跡。Refresh
更新後,就會看到已經有監測資訊出來摟!這一部分的實作,我們將可以學到:
Service Details
來看看詳細內容有什麼吧!Service Map
,我們還可以選 Traces
來看看軌跡,APM 面板裡面就可以讓你去細細診斷目前系統上,哪一段服務可能會是有問題的部分!YA!邁入第四天了,說實話 APM 這塊對我還是太陌生了,很多東西我只能知其然而不知其所以然,它的妙用我還沒法像大神們一樣隨心所欲地體會出來,學海無涯啊!!!
今天我們學到了如何將 APM 資料,透與雲端的 Elastic APM 和 Kibana 連接,送進 EC 上做分析和視覺化結果,明天我們將要來了解工作區搜索(Workplace Search)是什麼鬼了!